package com.wx.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.wx.common.CreateValidate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;
import java.util.Date;

/**
 * <p>Title:	  weixin-go-with-you <br/> </p>
 * <p>Description TODO <br/> </p>
 * <p>Company:    医百科技有限公司  <br/> </p>
 *
 * @Author <a href="yangwensheng@100doc.com.cn"/>杨文生</a>  <br/>
 * @Date 2021/8/4 20:33
 */
@Data
@ApiModel(value = "SysPatientFollowDto")
public class SysPatientFollowDto implements Serializable {
    private static final long serialVersionUID = 1105834135512553318L;

    /**
     * 患者id
     */
    @ApiModelProperty(value = "患者id")
    @NotEmpty(message = "患者id不能为空", groups = CreateValidate.class)
    private String patientId;

    /**
     * 随访手册编号
     */
    @ApiModelProperty(value = "随访手册编号")
    private String followCode;

    /**
     * 随访内容
     */
    @ApiModelProperty(value = "随访内容（JSON字符传）")
    private String content;

    /**
     * 随访时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "随访时间")
    private Date followTime;

    /**
     * 状态： 0：未随访 1：已随访
     */
    @ApiModelProperty(value = "状态： 0：未随访 1：已随访")
    private Integer status;

    /**
     * 短信提醒的次数
     */
    @ApiModelProperty(value = "短信提醒的次数")
    private Integer remindNumber;


    /**
     * 类型 0：随访  1：问询
     */
    @ApiModelProperty(value = "类型 0：随访  1：问询")
    private Integer type;


    @ApiModelProperty(value = "患者名称")
    private String patientName;

    @ApiModelProperty(value = "护士id")
    private String nurseId;

    @ApiModelProperty(value = "护士名称")
    private String nurseName;


    @ApiModelProperty(value = "护士手机号")
    private String nursePhone;


    @ApiModelProperty(value = "患者手机号")
    private String patientPhone;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "开始时间")
    private Date startTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "结束时间")
    private Date endTime;

    @ApiModelProperty(value = "入组省份")
    private String joinProvinceId;

    @ApiModelProperty(value = "入组城市")
    private String joinCityId;

    @ApiModelProperty(value = "是否处方 0：否 1：是")
    private Integer prescription;

    @ApiModelProperty(value = "审核状态 0：未审核(未入组) 1：已审核(已入组) 2：已脱组")
    private Integer auditStatus;

    @ApiModelProperty(value = "医院类型")
    private String hospitalType;

    @ApiModelProperty(value = "原因")
    private String changeReason;

    @ApiModelProperty(value = "医院id")
    private String hospitalId;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "开始入组时间")
    private Date startJoinTime;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty(value = "结束入组时间")
    private Date endJoinTime;
}
